1
การสร้างพื้นฐาน: การโต้ตอบผ่านอินเทอร์เฟซบรรทัดคำสั่งในเรสต์
AI034Lesson 2
00:00

บทสนทนาแห่งการเขียนโปรแกรม

พิจารณาความแตกต่างระหว่างโปรแกรมที่ง่าย ๆ เช่น "สวัสดี โลก!" กับเกมทายตัวเลขว่าเป็นเหมือนความแตกต่างระหว่าง บทพูดเดี่ยว กับ บทสนทนา. ในบทพูดเดี่ยว โปรแกรมจะพูดแล้วจบการทำงาน ในขณะที่บทสนทนา โปรแกรมจะถามคำถาม เปิดรับฟัง และหยุดเวลาภายในไว้จนกว่าผู้ใช้จะตอบกลับ

1. พื้นฐานและการกำหนดขอบเขต

เรสต์นำเข้ารายการเล็ก ๆ ที่เรียกว่า พื้นฐาน (Prelude) เข้ามาในทุกโปรแกรมโดยอัตโนมัติ อย่างไรก็ตาม สำหรับงานเฉพาะเจาะจงเช่น การรับข้อมูลจากหน้าต่างบรรทัดคำสั่ง เราจำเป็นต้องนำ ไลบรารีมาตรฐาน เข้ามาในขอบเขตโดยใช้ use std::io;. สิ่งนี้ช่วยเชื่อมช่องว่างระหว่างตรรกะภายในของโปรแกรมกับสภาพแวดล้อมภายนอก

หน้าต่างบรรทัดคำสั่งเอาต์พุตมาตรฐานโปรแกรมเรสต์ขอบเขตของฟังก์ชันหลัก (main())println! (แมคโคร)io::stdin() (ข้อมูลนำเข้า)

2. แมคโครกับฟังก์ชัน

คุณอาจสังเกตเห็นว่า println! ลงท้ายด้วยเครื่องหมายตกใจ ซึ่งระบุว่ามันคือ แมคโคร. แตกต่างจากฟังก์ชันปกติ แมคโครสามารถจัดการจำนวนอาร์กิวเมนต์ที่ไม่แน่นอนได้ และสามารถแทนที่สายอักษร (เติมค่าใน {guess}) ได้ในช่วงการคอมไพล์

3. วงจรการโต้ตอบ

เมื่อคุณรัน cargo run, โปรแกรมจะเริ่มต้น ไปถึง io::stdin().read_line(), และหยุดชั่วคราว มันจะรอให้ผู้ใช้กดปุ่ม 'Enter' จากนั้นจัดเก็บข้อมูลที่ได้เข้าไปในประเภท ผลลัพธ์ (Result) เพื่อจัดการกับความผิดพลาดที่อาจเกิดจากฮาร์ดแวร์ได้อย่างปลอดภัย

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>